package com.server.listener;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.server.entity.dto.ExcelDto;
import lombok.extern.slf4j.Slf4j;

import java.util.Map;

/**
 * @Description: TODO
 * @Author: mis_wu
 * @Date: 2022/6/29
 * <p>
 *  实现读操作需要一个excel监听器
 * </P>
 **/
@Slf4j
public class EasyExcelListener extends AnalysisEventListener<ExcelDto> {

    /**
     * 一行一行读取excel中的内容
     * @param excelDto dto
     * @param analysisContext content
     */
    @Override
    public void invoke(ExcelDto excelDto, AnalysisContext analysisContext) {
        log.info("excel data:{}",excelDto);
    }

    /**
     * 读取表头的内容
     * @param headMap map
     * @param context text
     */
    @Override
    public void invokeHead(Map<Integer, ReadCellData<?>> headMap, AnalysisContext context) {
        log.info("excel 表头:{}",headMap);
    }

    /**
     * 读取完成之后执行的方法
     * @param analysisContext text
     */
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        log.info("数据导入结束...");
    }
}
